{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "2d601df4",
   "metadata": {},
   "source": [
    "## Chapter-2: Building a Neural Network from Scratch"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a8824263",
   "metadata": {},
   "source": [
    "#### Imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "id": "152eae75",
   "metadata": {},
   "outputs": [],
   "source": [
    "import math\n",
    "import random\n",
    "import numpy as np\n",
    "from graphviz import Digraph\n",
    "from sklearn.datasets import make_moons\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.metrics import accuracy_score"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86838dbf",
   "metadata": {},
   "source": [
    "### Backbone Unit class\n",
    "- Weights and Biases\n",
    "- Automatic Differentiation and Gradient Tracking"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "id": "d563847c",
   "metadata": {},
   "outputs": [],
   "source": [
    "class Unit:\n",
    "    def __init__(self, data, parents=[], op=\"\"):\n",
    "        self.data, self.parents, self.op = data, parents, op\n",
    "        self.grad = 0.0\n",
    "        self._backprop = lambda: None\n",
    "        \n",
    "    def __repr__(self):\n",
    "        return f\"{self.data, self.grad}\"\n",
    "\n",
    "    def relu(self):\n",
    "        out = Unit(max(0, self.data), parents=(self,), op='relu')\n",
    "\n",
    "        def _backprop():\n",
    "            self.grad += out.grad * (out.data > 0)\n",
    "    \n",
    "        out._backprop = _backprop\n",
    "        return out\n",
    "    \n",
    "    def __add__(self, other):\n",
    "        other = other if isinstance(other, Unit) else Unit(other)\n",
    "        out = Unit(self.data + other.data, parents=[self, other], op=\"+\")\n",
    "        def _backprop():\n",
    "            self.grad += out.grad\n",
    "            other.grad += out.grad\n",
    "\n",
    "        out._backprop = _backprop\n",
    "        return out\n",
    "\n",
    "    def __mul__(self, other):\n",
    "        other = other if isinstance(other, Unit) else Unit(other)\n",
    "        out = Unit(self.data * other.data, parents=[self, other], op=\"*\")\n",
    "\n",
    "        def _backprop():\n",
    "            self.grad += out.grad * other.data\n",
    "            other.grad += out.grad * self.data\n",
    "\n",
    "        out._backprop = _backprop\n",
    "        return out\n",
    "\n",
    "    def __pow__(self, other):\n",
    "        out = Unit(self.data**other, parents=[self], op=f\"^{other}\")\n",
    "\n",
    "        def _backprop():\n",
    "            # derivative of xn is nxn-1\n",
    "            self.grad += out.grad * (other * self.data**(other-1))\n",
    "\n",
    "        out._backprop = _backprop\n",
    "        return out\n",
    "\n",
    "    def log(self):\n",
    "        out = Unit(math.log(self.data), parents=[self], op=\"log\")\n",
    "\n",
    "        def _backprop():\n",
    "            # Gradient is Gradient from Previous step a.k.a out.grad\n",
    "            # multiplied with gradient of log which is 1 / self.data\n",
    "            self.grad += out.grad * (1 / self.data)\n",
    "\n",
    "        out._backprop = _backprop \n",
    "        return out\n",
    "\n",
    "    def __radd__(self, other):\n",
    "        return self + other\n",
    "\n",
    "    def __sub__(self, other):\n",
    "        return self + (-other) # same as self - other\n",
    "\n",
    "    def __rsub__(self, other):\n",
    "        return other + (-self)\n",
    "\n",
    "    def __neg__(self):\n",
    "        return Unit(-self.data, parents=self.parents, op=self.op)\n",
    "\n",
    "    def __rmul__(self, other):\n",
    "        return self * other\n",
    "\n",
    "    # Division Operator\n",
    "    def __truediv__(self, other):\n",
    "        return self * (other**-1) # a / b is same as a * b-1\n",
    "\n",
    "    def topological_sort(self):\n",
    "        visited = set()\n",
    "        sorted_nodes = []\n",
    "\n",
    "        def build(node):\n",
    "            if node not in visited:\n",
    "                visited.add(node)\n",
    "            for parent in node.parents:\n",
    "                if isinstance(parent, Unit):\n",
    "                    build(parent)\n",
    "            sorted_nodes.append(node)\n",
    "\n",
    "        build(self)\n",
    "        # returning the nodes in reverse order\n",
    "        # as we want to compute gradients from bottom up\n",
    "        return reversed(sorted_nodes)\n",
    "\n",
    "    def backpropagation(self):\n",
    "        # Find the order in which back propagation should be called\n",
    "        sorted_nodes = self.topological_sort()\n",
    "        # Call back propagation methods\n",
    "        for node in sorted_nodes:\n",
    "            node._backprop()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b514657c",
   "metadata": {},
   "source": [
    "### A simple System of Equations to Illustrate how Unit class works"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "id": "310af215",
   "metadata": {},
   "outputs": [],
   "source": [
    "x = Unit(2.0)\n",
    "y = Unit(3.0)\n",
    "z = x + y\n",
    "w = z * x\n",
    "l = w ** 2\n",
    "n = l.relu()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "id": "de6cdb33",
   "metadata": {},
   "outputs": [],
   "source": [
    "n.grad = 1.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "id": "4f67e091",
   "metadata": {},
   "outputs": [],
   "source": [
    "n.backpropagation()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "88833cc4",
   "metadata": {},
   "source": [
    "### Methods for Visualizing the Graph Execution Engine"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "id": "3529d24e",
   "metadata": {},
   "outputs": [],
   "source": [
    "def trace(root):\n",
    "    nodes, edges = set(), set()\n",
    "    def build(v):\n",
    "        if v not in nodes:\n",
    "            nodes.add(v)\n",
    "            if isinstance(v, (int, float)):\n",
    "              return\n",
    "            for child in v.parents:\n",
    "                edges.add((child, v))\n",
    "                build(child)\n",
    "    build(root)\n",
    "    return nodes, edges\n",
    "\n",
    "def draw_dot(root, format='png', rankdir='LR'):\n",
    "    \"\"\"\n",
    "    format: png | svg | ...\n",
    "    rankdir: TB (top to bottom graph) | LR (left to right)\n",
    "    \"\"\"\n",
    "    assert rankdir in ['LR', 'TB']\n",
    "    nodes, edges = trace(root)\n",
    "    dot = Digraph(format=format, graph_attr={'rankdir': rankdir}) #, node_attr={'rankdir': 'TB'})\n",
    "    \n",
    "    for n in nodes:\n",
    "        if isinstance(n, (int, float)):\n",
    "            continue\n",
    "        dot.node(name=str(id(n)), label = \"{ data %.4f | grad %.4f}\" % (n.data, n.grad), shape='record')\n",
    "        if n.op:\n",
    "            dot.node(name=str(id(n)) + n.op, label=n.op)\n",
    "            dot.edge(str(id(n)) + n.op, str(id(n)))\n",
    "    \n",
    "    for n1, n2 in edges:\n",
    "        dot.edge(str(id(n1)), str(id(n2)) + n2.op)\n",
    "    \n",
    "    return dot"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7e4b5619",
   "metadata": {},
   "source": [
    "### Output Graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "id": "11799235",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 9.0.0 (20230911.1827)\n",
       " -->\n",
       "<!-- Pages: 1 -->\n",
       "<svg width=\"1378pt\" height=\"100pt\"\n",
       " viewBox=\"0.00 0.00 1377.75 100.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 96)\">\n",
       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-96 1373.75,-96 1373.75,4 -4,4\"/>\n",
       "<!-- 140228535249456 -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>140228535249456</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"300.5,-47.5 300.5,-83.5 468.25,-83.5 468.25,-47.5 300.5,-47.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"340.38\" y=\"-60.7\" font-family=\"Times,serif\" font-size=\"14.00\">data 5.0000</text>\n",
       "<polyline fill=\"none\" stroke=\"black\" points=\"380.25,-48 380.25,-83.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"424.25\" y=\"-60.7\" font-family=\"Times,serif\" font-size=\"14.00\">grad 40.0000</text>\n",
       "</g>\n",
       "<!-- 140228535247248* -->\n",
       "<g id=\"node7\" class=\"node\">\n",
       "<title>140228535247248*</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"531.25\" cy=\"-41.5\" rx=\"27\" ry=\"18\"/>\n",
       "<text text-anchor=\"middle\" x=\"531.25\" y=\"-36.45\" font-family=\"Times,serif\" font-size=\"14.00\">*</text>\n",
       "</g>\n",
       "<!-- 140228535249456&#45;&gt;140228535247248* -->\n",
       "<g id=\"edge7\" class=\"edge\">\n",
       "<title>140228535249456&#45;&gt;140228535247248*</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M468.39,-51.75C477.12,-50.3 485.65,-48.89 493.44,-47.6\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"493.84,-51.08 503.14,-45.99 492.7,-44.17 493.84,-51.08\"/>\n",
       "</g>\n",
       "<!-- 140228535249456+ -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>140228535249456+</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"237.5\" cy=\"-65.5\" rx=\"27\" ry=\"18\"/>\n",
       "<text text-anchor=\"middle\" x=\"237.5\" y=\"-60.45\" font-family=\"Times,serif\" font-size=\"14.00\">+</text>\n",
       "</g>\n",
       "<!-- 140228535249456+&#45;&gt;140228535249456 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>140228535249456+&#45;&gt;140228535249456</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M264.74,-65.5C271.96,-65.5 280.24,-65.5 288.98,-65.5\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"288.76,-69 298.76,-65.5 288.76,-62 288.76,-69\"/>\n",
       "</g>\n",
       "<!-- 140228535199536 -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>140228535199536</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"894.75,-23.5 894.75,-59.5 1069.25,-59.5 1069.25,-23.5 894.75,-23.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"941.38\" y=\"-36.7\" font-family=\"Times,serif\" font-size=\"14.00\">data 100.0000</text>\n",
       "<polyline fill=\"none\" stroke=\"black\" points=\"988,-24 988,-59.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1028.62\" y=\"-36.7\" font-family=\"Times,serif\" font-size=\"14.00\">grad 1.0000</text>\n",
       "</g>\n",
       "<!-- 140228535199728relu -->\n",
       "<g id=\"node10\" class=\"node\">\n",
       "<title>140228535199728relu</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"1132.25\" cy=\"-41.5\" rx=\"27\" ry=\"18\"/>\n",
       "<text text-anchor=\"middle\" x=\"1132.25\" y=\"-36.45\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
       "</g>\n",
       "<!-- 140228535199536&#45;&gt;140228535199728relu -->\n",
       "<g id=\"edge9\" class=\"edge\">\n",
       "<title>140228535199536&#45;&gt;140228535199728relu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1069.67,-41.5C1077.97,-41.5 1086.05,-41.5 1093.48,-41.5\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1093.42,-45 1103.42,-41.5 1093.42,-38 1093.42,-45\"/>\n",
       "</g>\n",
       "<!-- 140228535199536^2 -->\n",
       "<g id=\"node4\" class=\"node\">\n",
       "<title>140228535199536^2</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"831.75\" cy=\"-41.5\" rx=\"27\" ry=\"18\"/>\n",
       "<text text-anchor=\"middle\" x=\"831.75\" y=\"-36.45\" font-family=\"Times,serif\" font-size=\"14.00\">^2</text>\n",
       "</g>\n",
       "<!-- 140228535199536^2&#45;&gt;140228535199536 -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>140228535199536^2&#45;&gt;140228535199536</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M858.91,-41.5C866.1,-41.5 874.35,-41.5 883.08,-41.5\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"882.86,-45 892.86,-41.5 882.86,-38 882.86,-45\"/>\n",
       "</g>\n",
       "<!-- 140228535249264 -->\n",
       "<g id=\"node5\" class=\"node\">\n",
       "<title>140228535249264</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"0,-0.5 0,-36.5 174.5,-36.5 174.5,-0.5 0,-0.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"39.88\" y=\"-13.7\" font-family=\"Times,serif\" font-size=\"14.00\">data 2.0000</text>\n",
       "<polyline fill=\"none\" stroke=\"black\" points=\"79.75,-1 79.75,-36.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"127.12\" y=\"-13.7\" font-family=\"Times,serif\" font-size=\"14.00\">grad 140.0000</text>\n",
       "</g>\n",
       "<!-- 140228535249264&#45;&gt;140228535249456+ -->\n",
       "<g id=\"edge8\" class=\"edge\">\n",
       "<title>140228535249264&#45;&gt;140228535249456+</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M147.19,-36.88C156.34,-39.75 165.68,-42.7 174.5,-45.5 183.37,-48.32 192.94,-51.39 201.84,-54.26\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"200.64,-57.55 211.23,-57.29 202.79,-50.89 200.64,-57.55\"/>\n",
       "</g>\n",
       "<!-- 140228535249264&#45;&gt;140228535247248* -->\n",
       "<g id=\"edge6\" class=\"edge\">\n",
       "<title>140228535249264&#45;&gt;140228535247248*</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M174.67,-22.46C251.7,-26.08 367.52,-31.73 468.25,-37.5 476.14,-37.95 484.58,-38.47 492.63,-38.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"492.29,-42.47 502.5,-39.62 492.75,-35.49 492.29,-42.47\"/>\n",
       "</g>\n",
       "<!-- 140228535247248 -->\n",
       "<g id=\"node6\" class=\"node\">\n",
       "<title>140228535247248</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"594.25,-23.5 594.25,-59.5 768.75,-59.5 768.75,-23.5 594.25,-23.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"637.5\" y=\"-36.7\" font-family=\"Times,serif\" font-size=\"14.00\">data 10.0000</text>\n",
       "<polyline fill=\"none\" stroke=\"black\" points=\"680.75,-24 680.75,-59.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"724.75\" y=\"-36.7\" font-family=\"Times,serif\" font-size=\"14.00\">grad 20.0000</text>\n",
       "</g>\n",
       "<!-- 140228535247248&#45;&gt;140228535199536^2 -->\n",
       "<g id=\"edge10\" class=\"edge\">\n",
       "<title>140228535247248&#45;&gt;140228535199536^2</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M769.17,-41.5C777.47,-41.5 785.55,-41.5 792.98,-41.5\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"792.92,-45 802.92,-41.5 792.92,-38 792.92,-45\"/>\n",
       "</g>\n",
       "<!-- 140228535247248*&#45;&gt;140228535247248 -->\n",
       "<g id=\"edge3\" class=\"edge\">\n",
       "<title>140228535247248*&#45;&gt;140228535247248</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M558.41,-41.5C565.6,-41.5 573.85,-41.5 582.58,-41.5\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"582.36,-45 592.36,-41.5 582.36,-38 582.36,-45\"/>\n",
       "</g>\n",
       "<!-- 140228535249888 -->\n",
       "<g id=\"node8\" class=\"node\">\n",
       "<title>140228535249888</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"3.38,-55.5 3.38,-91.5 171.12,-91.5 171.12,-55.5 3.38,-55.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"43.25\" y=\"-68.7\" font-family=\"Times,serif\" font-size=\"14.00\">data 3.0000</text>\n",
       "<polyline fill=\"none\" stroke=\"black\" points=\"83.12,-56 83.12,-91.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"127.12\" y=\"-68.7\" font-family=\"Times,serif\" font-size=\"14.00\">grad 40.0000</text>\n",
       "</g>\n",
       "<!-- 140228535249888&#45;&gt;140228535249456+ -->\n",
       "<g id=\"edge5\" class=\"edge\">\n",
       "<title>140228535249888&#45;&gt;140228535249456+</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M171.48,-69.01C180.99,-68.5 190.29,-67.99 198.76,-67.54\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"198.79,-71.04 208.59,-67.01 198.41,-64.05 198.79,-71.04\"/>\n",
       "</g>\n",
       "<!-- 140228535199728 -->\n",
       "<g id=\"node9\" class=\"node\">\n",
       "<title>140228535199728</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"1195.25,-23.5 1195.25,-59.5 1369.75,-59.5 1369.75,-23.5 1195.25,-23.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1241.88\" y=\"-36.7\" font-family=\"Times,serif\" font-size=\"14.00\">data 100.0000</text>\n",
       "<polyline fill=\"none\" stroke=\"black\" points=\"1288.5,-24 1288.5,-59.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1329.12\" y=\"-36.7\" font-family=\"Times,serif\" font-size=\"14.00\">grad 1.0000</text>\n",
       "</g>\n",
       "<!-- 140228535199728relu&#45;&gt;140228535199728 -->\n",
       "<g id=\"edge4\" class=\"edge\">\n",
       "<title>140228535199728relu&#45;&gt;140228535199728</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1159.41,-41.5C1166.6,-41.5 1174.85,-41.5 1183.58,-41.5\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1183.36,-45 1193.36,-41.5 1183.36,-38 1183.36,-45\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<graphviz.graphs.Digraph at 0x7f8990080820>"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "draw_dot(n)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "adc5568e",
   "metadata": {},
   "source": [
    "### Neuron Class\n",
    "- Built on top of Unit class\n",
    "- Contains weights and biases of a neuron"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "id": "a0e01e38",
   "metadata": {},
   "outputs": [],
   "source": [
    "class Neuron:\n",
    "    def __init__(self, num_inputs, activation=\"\"):\n",
    "        self.weights = [Unit(random.uniform(-1,1)) for _ in range(num_inputs)]\n",
    "        self.bias = Unit(random.uniform(-1,1))\n",
    "        self.activation = activation\n",
    "\n",
    "    def __call__(self, inputs):\n",
    "        out = sum(wi*xi for wi, xi in zip(self.weights, inputs))\n",
    "        out += self.bias\n",
    "        if self.activation == \"relu\":\n",
    "            out = out.relu()\n",
    "        return out\n",
    "\n",
    "    def parameters(self):\n",
    "        return self.weights + [self.bias]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b827fdaa",
   "metadata": {},
   "source": [
    "### Layer Class\n",
    "- Built on top of Neuron Class\n",
    "- Constructs a layer of neurons"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "id": "e236c045",
   "metadata": {},
   "outputs": [],
   "source": [
    "class Layer:\n",
    "\tdef __init__(self, n_in, n_out, activation=\"\"):\n",
    "\t\tself.neurons = [Neuron(n_in, activation) for _ in range(n_out)]\n",
    "\n",
    "\tdef __call__(self, input_vec):\n",
    "\t\tout = [n(input_vec) for n in self.neurons]\n",
    "\t\treturn out[0] if len(out) == 1 else out\n",
    "\n",
    "\tdef parameters(self):\n",
    "\t\treturn [p for n in self.neurons for p in n.parameters()]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4cfc7a96",
   "metadata": {},
   "source": [
    "### MLP Class\n",
    "- Built on top of Layer class\n",
    "- Defines a MLP model of any shape and size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "id": "2ee093b4",
   "metadata": {},
   "outputs": [],
   "source": [
    "class MLP:\n",
    "\tdef __init__(self, shapes):\n",
    "\t\t# Initializing layers in MLP\n",
    "\t\tself.layers = [Layer(shapes[i-1], shapes[i], \"relu\") for i in range(1, len(shapes)-1)]\n",
    "\t\t# All the layers except the last layer have ReLU activation\n",
    "\t\tself.layers.append(Layer(shapes[-2], shapes[-1]))\n",
    "\n",
    "\tdef __call__(self, input_vec):\n",
    "\t\tfor layer in self.layers:\n",
    "\t\t\tinput_vec = layer(input_vec)\n",
    "\t\treturn input_vec\n",
    "\n",
    "\tdef parameters(self):\n",
    "\t\treturn [p for layer in self.layers for p in layer.parameters()]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2f608911",
   "metadata": {},
   "source": [
    "### Defining a simple MLP model\n",
    "- 2 Hidden Layers with 16 Neurons in each layer\n",
    "- 2 Dimensional Input\n",
    "- 1 Scalar output which is positive for positive class & negative for negative class"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "id": "3cc489d8",
   "metadata": {},
   "outputs": [],
   "source": [
    "mlp = MLP([2, 16, 16, 1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7773e733",
   "metadata": {},
   "source": [
    "### Generating a Toy Dataset for Classification"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "id": "63d1bf6c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '2D Toy Dataset')"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X, y = make_moons(n_samples=100, noise=0.1)\n",
    "\n",
    "y = y*2 - 1 # make y be -1 or 1\n",
    "# visualize in 2D\n",
    "plt.figure(figsize=(5,5))\n",
    "plt.scatter(X[:,0], X[:,1], c=y, s=20, cmap='jet')\n",
    "plt.xlabel(\"Feature-1\");plt.ylabel(\"Feature-2\")\n",
    "plt.title(\"2D Toy Dataset\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "72a61293",
   "metadata": {},
   "source": [
    "### Setting up a Training Loop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "id": "59b2fcfc",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "def trainer(model, X, y, epochs=10, learning_rate=0.005):\n",
    "    losses_per_epoch, accuracy_per_epoch = [], []\n",
    "    for epoch in range(epochs):\n",
    "        # Step-1: Run the Model and save results\n",
    "        predictions, loss = [], []\n",
    "        for xi, yi in zip(X, y):\n",
    "            out = model(xi)\n",
    "            predictions.append(1 if out.data > 0 else -1)\n",
    "            loss.append((1 + -yi*out).relu())\n",
    "\n",
    "        # Step-2: Compute Total Loss\n",
    "        total_loss = sum(loss) / len(loss) # Average Loss\n",
    "\n",
    "        # Step-3: Compute Gradients with respect to Loss\n",
    "        total_loss.grad = 1\n",
    "        total_loss.backpropagation()\n",
    "\n",
    "        # Step-4: Update Weights based on Gradients\n",
    "        for weight in model.parameters():\n",
    "            weight.data -= weight.grad * learning_rate\n",
    "\n",
    "        # Step-5: Reset the Gradients\n",
    "        for weight in model.parameters():\n",
    "            weight.grad = 0.0\n",
    "\n",
    "        # Logging\n",
    "        accuracy = accuracy_score(predictions, y)\n",
    "        losses_per_epoch.append(total_loss.data)\n",
    "        accuracy_per_epoch.append(accuracy)\n",
    "        print(f\"Epoch:{epoch}, Loss: {total_loss.data}, Accuracy: {accuracy}\")\n",
    "\n",
    "    return losses_per_epoch, accuracy_per_epoch\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "id": "056848e4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch:0, Loss: 1.0289653269370203, Accuracy: 0.53\n",
      "Epoch:1, Loss: 2.2536551540622853, Accuracy: 0.74\n",
      "Epoch:2, Loss: 1.7456490761600456, Accuracy: 0.76\n",
      "Epoch:3, Loss: 1.30509803812655, Accuracy: 0.77\n",
      "Epoch:4, Loss: 0.9520466858096931, Accuracy: 0.79\n",
      "Epoch:5, Loss: 0.7538200140474804, Accuracy: 0.79\n",
      "Epoch:6, Loss: 0.6541367374698398, Accuracy: 0.78\n",
      "Epoch:7, Loss: 0.7010438512424466, Accuracy: 0.79\n",
      "Epoch:8, Loss: 0.6852541897297286, Accuracy: 0.79\n",
      "Epoch:9, Loss: 0.6575923228765, Accuracy: 0.82\n"
     ]
    }
   ],
   "source": [
    "losses, accuracy_scores = trainer(mlp, X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "id": "d67dd91a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f896a325400>]"
      ]
     },
     "execution_count": 141,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"Change in Loss over time\")\n",
    "plt.xlabel(\"Epoch\")\n",
    "plt.ylabel(\"Loss Value\")\n",
    "plt.plot(range(len(loss)), loss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "id": "28b8abae",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f8969c8a3a0>]"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"Change in Accuracy over time\")\n",
    "plt.xlabel(\"Epoch\")\n",
    "plt.ylabel(\"Accuracy Value\")\n",
    "plt.plot(range(len(accuracy)), accuracy)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b7433b90",
   "metadata": {},
   "source": [
    "### Visualizing the decision boundary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "id": "a0010a48",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Feature-2')"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Af/5z3/6/Ey95/iYTCYsWLDA47X1Z+HChXj77bfx9ttv4/XXX8ddd92FnTt34rTTTkNnZycAoLKyElu3bsXq1auRkpLiPnfmzJn4/ve/jzfeeCPon+9oy5cvx7hx4zzuMyEhwd1/TdPw1ltvYdWqVRg7dqy73ZQpU7xepur9b665uRl1dXVYunQpDh48iObmZo+2hYWFfe4jMTERp59+Ov7+979DSunuwz//+U+sWrUKsbGxA/5ZKTwxCNGo1PPm3TMXo6ysDB999BHOOeccvxNTly5dijPPPBNr165FWloaTj/9dDz11FNe54sEo6GhAddccw0yMzMRExOD9PR09+WGo/8oB6ulpQVnnHEGcnNz8cwzzwR1ea33G0iP5ORkNDY2ur8/dOgQxo8f36edt2MDcXQfekJRTx/2798PKSV++9vfIj093ePrtttuAwCv8776o+fSYnx8PABg37592LlzZ5/HmzhxosfjHThwAIqiYOrUqf16vJtuuglxcXFYsGABJkyYgCuvvBKffPKJ33MOHToEwDUfpTeTyYSioiL37T3GjBnT53fg6NfWn7S0NCxfvhzLly/HqaeeiltvvRVPPPEEPv30UzzxxBN++wS4AkldXR3a29uDeryjBfrdrK2tRWdnp9dJ297688knn2D58uXueUzp6em49dZbAfT9N9f70l9v559/PkpLS/HRRx8BcIXT6upq/PznP+/fD0cRgXOEaFSaN28eJk+ejL///e+49dZb3Z/uAo1uCCHwwgsv4LPPPsNrr72Gt956CxdddBHuvvtufPbZZ4iLi/MZPDRN63Pspz/9KT799FPccMMNmD17NuLi4qDrOlauXAld1wf0s61evRoVFRX44osvkJCQENQ5vsJfzyfekRCoDz3Px//7f//P54TUwYayHTt2QFVV9xugruuYMWOGz2X1eXl5g3q8KVOmYM+ePXj99dfx5ptv4t///jceeughrFmzZshKDQzHa9szavrhhx/iV7/6Vb/O7c+/D2Bo+3/gwAGcdNJJmDx5Mu655x7k5eXBZDLhjTfewL333tvn35yvuYIrVqxAZmYmnnvuOZxwwgl47rnnkJWVheXLl/e7TxT+GIRo1DrvvPPw29/+Ftu3b8fGjRsxYcIEHHPMMUGde+yxx+LYY4/FXXfdhY0bN+K8887DP/7xD/ziF79wj2QcvYLn6E/qjY2NePfdd7F27VqsWbPGfXzfvn0D/pl+//vf4+WXX8aLL76IyZMnD/h+vMnPz8f+/fv7HPd2zJvBVvgtKioCABiNxmF5wyktLcUHH3yARYsWuUeExo0bh23btuGkk07y2/9x48ZB13V89913HpcOgxEbG4uzzz4bZ599Nux2O8444wzcdddduOWWW2CxWPq076kntGfPHvdzAgB2ux3FxcUj8mbsdDoBHBlB692no+3evRtpaWnuS0bJycl9/m0Aff99BCs9PR0xMTFe/90c3Z/XXnsNNpsNr776qsdIU88lzmCpqoqf/exn2LBhA/7whz/g5ZdfxiWXXBL1pSlGK14ao1GrZ/RnzZo12Lp1a1BzXRobG/t8Eu154+u5PJafnw9VVfHhhx96tHvooYc8vu/5o3n0/a1fvz7on6G3d955B7/5zW/wv//7v1i1atWA7sOfFStWYPPmzdi6dav7WENDA/72t78FdX7PG6G3N8FgZGRkYNmyZXj00UdRWVnZ5/ba2toB3S/g+jnOPfdcaJqG//3f/3Uf/+lPf4ry8nI8/vjjfc7p7Ox0X+5ZtWoVFEXBHXfc0WdUwd/IxdFlEkwmE6ZOnQoppc85aMuXL4fJZMJ9993ncd9//etf0dzcjFNPPTXwDzxIr732GgC4l5FnZ2dj9uzZePrppz1e3x07duC///2vR12mcePGobm5Gdu3b3cfq6ys9FnkNBBVVbFixQq8/PLLKC0tdR/ftWsX3nrrrT5tAc/XpLm5GU899VS/H/fnP/85Ghsbcemll6Ktra1PbSoaPTgiRKNWYWEhFi9ejFdeeQUAggpCTz/9NB566CH8+Mc/xrhx49Da2orHH38cCQkJ7j/2iYmJOOuss3D//fdDCIFx48bh9ddf7zN/JSEhASeccAL++Mc/wuFwIDc3F//9739RXFw8oJ/n3HPPRXp6OiZMmIDnnnvO47bvf//7XpcS98eNN96I5557Dt///vfxq1/9yr18fuzYsWhoaAg44jNv3jwAwNVXX40VK1a4J633x4MPPojjjjsOM2bMwCWXXIKioiJUV1dj8+bNKCsrw7Zt2wLex969e/Hcc89BSomWlhZs27YN//rXv9DW1oZ77rnHo2Lyz3/+czz//PO47LLL8P7772PJkiXQNA27d+/G888/764xM378ePzv//4v7rzzThx//PE444wzYDab8eWXXyInJwfr1q3z2peTTz4ZWVlZWLJkCTIzM7Fr1y488MADOPXUU92jUkdLT0/HLbfcgrVr12LlypU47bTTsGfPHjz00EM45phjhvwNuby83P37ZLfbsW3bNjz66KNIS0vzuCz2pz/9CaeccgoWLVqEiy++2L18PjEx0WNrlXPOOQc33XQTfvzjH+Pqq69GR0cHHn74YUycOHHACwTWrl2LN998E8cffzyuuOIKOJ1Od32m3oHr5JNPhslkwo9+9CN3gHn88ceRkZHhNVz7M2fOHEyfPt09oX7u3LkD6jtFgFAsVSMaKQ8++KAEIBcsWOD19qOXLn/zzTfy3HPPlWPHjpVms1lmZGTIH/7wh/Krr77yOK+2tlaeeeaZ0mq1yuTkZHnppZfKHTt29Fk+X1ZWJn/84x/LpKQkmZiYKM866yxZUVEhAcjbbrvNZz+k7LsUG16WOfd89Szl97V8/tRTT+3zs3tbnr9lyxZ5/PHHS7PZLMeMGSPXrVsn77vvPglAVlVV+XyepXSVLfjVr34l09PTpRDCvay5Z/n8n/70pz7nHP08SCnlgQMH5Pnnny+zsrKk0WiUubm58oc//KF84YUX/D7+0c+RoigyKSlJzpkzR15zzTVy586dXs+x2+3yD3/4g5w2bZo0m80yOTlZzps3T65du1Y2Nzd7tH3yySflnDlz3O2WLl0q3377bfftRz+njz76qDzhhBNkamqqNJvNcty4cfKGG27wuF9vr5mUruXykydPlkajUWZmZsrLL79cNjY2erRZunSp1+X5vpawH+3o5fOKosiMjAx57rnneixp7/HOO+/IJUuWyJiYGJmQkCB/9KMfye+++65Pu//+979y+vTp0mQyyUmTJsnnnnvO5/J5b+UO8vPz5QUXXOBx7IMPPpDz5s2TJpNJFhUVyUceecTrfb766qty5syZ0mKxyIKCAvmHP/xBPvnkk0H/u+jtj3/8owQg/7//7//z244im5ByBGdLElHEufbaa/Hoo4+ira2NcyQoqvzlL3/Br3/9a5SUlHhd3UajA4MQEbl1dnZ6rKSpr6/HxIkTMXfuXLz99tsh7BnRyJJSYtasWUhNTe33ZGuKLJwjRERuixYtwrJlyzBlyhRUV1fjr3/9K1paWvDb3/421F0jGhHt7e149dVX8f777+Pbb791zzGk0YsjQkTkduutt+KFF15AWVkZhBCYO3cubrvtNtZPoahRUlKCwsJCJCUl4YorruizSS+NPgxCREREFLVYR4iIiIiiFoMQERERRS1Olg5A13VUVFQgPj5+0FsIEBER0ciQUqK1tRU5OTlQFN/jPgxCAVRUVAx640UiIiIKjcOHD2PMmDE+b2cQCqCnDP5bP7wIsUZTiHtDREREwWh32LHi9Sd9bmfTg0EogJ7LYbFGE+KM5hD3hoiIiPoj0LSWiJksvW7dOhxzzDGIj49HRkYGVq1ahT179gQ871//+hcmT54Mi8WCGTNm4I033hiB3hIREVEkiJgg9MEHH+DKK6/EZ599hrfffhsOhwMnn3wy2tvbfZ7z6aef4txzz8XFF1+MLVu2YNWqVVi1ahV27Ngxgj0nIiKicBWxBRVra2uRkZGBDz74ACeccILXNmeffTba29vx+uuvu48de+yxmD17Nh555JGgHqelpQWJiYn4+MeX8dIYERFRhGhz2HDcS4+gubkZCQkJPttFzIjQ0ZqbmwEAKSkpPtts3ry5z9YAK1aswObNm4e1b0RERBQZInKytK7ruPbaa7FkyRJMnz7dZ7uqqipkZmZ6HMvMzERVVZXPc2w2G2w2m/v7lpaWwXeYiIiIwlJEjghdeeWV2LFjB/7xj38M+X2vW7cOiYmJ7i/WECIiIhq9Ii4IXXXVVXj99dfx/vvv+y2QBABZWVmorq72OFZdXY2srCyf59xyyy1obm52fx0+fHhI+k1EREThJ2KCkJQSV111FV566SW89957KCwsDHjOokWL8O6773oce/vtt7Fo0SKf55jNZiQkJHh8ERER0egUMXOErrzySmzcuBGvvPIK4uPj3fN8EhMTERMTAwA4//zzkZubi3Xr1gEArrnmGixduhR33303Tj31VPzjH//AV199hcceeyxkPwcRERGFj4gZEXr44YfR3NyMZcuWITs72/31z3/+092mtLQUlZWV7u8XL16MjRs34rHHHsOsWbPwwgsv4OWXX/Y7wZqIiIiiR8SMCAVT7mjTpk19jp111lk466yzhqFHREREFOkiZkSIiIiIaKgxCBEREVHUYhAiIiKiqMUgRERERFGLQYiIiIiiFoMQERERRS0GISIiIopaDEJEREQUtRiEiIiIKGoxCBEREVHUYhAiIiKiqMUgRERERFGLQYiIiIiiFoMQERER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+fPnu/+7vb0dBw4cwMUXX4xLLrnEfdzpdCIxMRGAK8B99NFHAID8/Hzs3Llz0H0gouHFIEREIRcbG4vx48d7HGtra8PatWs9RmR6WCwWlJSU4Ic//CEuv/xy3HXXXUhJScHHH3+Miy++GHa73W8QEkJASulxzNtk6NjYWI/+AMDjjz+OhQsXerRTVRWAa/5QZ2cnAMBoNPr7kYkoTDAIEVFYmjt3Lvbs2dMnIPX4+uuvoes67r77biiKa93H888/79HGZDJB07Q+56anp6OystL9/b59+9DR0eG3P5mZmcjJycHBgwdx3nnneW2Tm5vr9z6IKPwwCBFRWFqzZg1++MMfYuzYsfjJT34CRVGwbds27NixA7/73e8wfvx4OBwO3H///fjRj36ETz75BI888ojHfRQUFKCtrQ3vvvsuZs2aBavVCqvViu9973t44IEHsGjRImiahptuuimoEZy1a9fi6quvRmJiIlauXAmbzYavvvoKjY2NuO6663yet3//frS1taGqqgqdnZ3YunUrAGDq1KkwmUyDep6IaJAkEVEIXXDBBfL000/3etubb74pFy9eLGNiYmRCQoJcsGCBfOyxx9y333PPPTI7O1vGxMTIFStWyGeeeUYCkI2Nje42l112mUxNTZUA5G233SallLK8vFyefPLJMjY2Vk6YMEG+8cYbMjExUT711FNSSimLi4slALlly5Y+ffrb3/4mZ8+eLU0mk0xOTpYnnHCCfPHFF/3+jEuXLpUA+nwVFxf345kiouEgpDzqQjkRERFRlGBBRSIiIopaDEJEREQUtRiEiIiIKGoxCBEREVHUYhAiIiKiqMUgRERERFGLQYiIiIiiFoMQERERRS0GISIiIopaDEJEREQUtRiEiIiIKGoxCBEREVHU+v8B9NeqRRW7HMsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "h = 0.25\n",
    "x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1\n",
    "y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1\n",
    "xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
    "                     np.arange(y_min, y_max, h))\n",
    "Xmesh = np.c_[xx.ravel(), yy.ravel()]\n",
    "inputs = [list(map(Unit, xrow)) for xrow in Xmesh]\n",
    "scores = list(map(mlp, inputs))\n",
    "Z = np.array([s.data > 0 for s in scores])\n",
    "Z = Z.reshape(xx.shape)\n",
    "\n",
    "fig = plt.figure()\n",
    "plt.contourf(xx, yy, Z, cmap=plt.cm.Spectral, alpha=0.8)\n",
    "plt.scatter(X[:, 0], X[:, 1], c=y, s=40, cmap=plt.cm.Spectral)\n",
    "plt.xlim(xx.min(), xx.max())\n",
    "plt.ylim(yy.min(), yy.max())\n",
    "plt.title(\"Visualizing the Decision Boundary\")\n",
    "plt.xlabel(\"Feature-1\")\n",
    "plt.ylabel(\"Feature-2\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3beddfd3",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
